package com.enjoyor.soa.traffic.api.service.dubbo.gps;

import java.util.Date;
import java.util.List;


import com.enjoyor.soa.traffic.api.dto.gps.TransboundaryDto;
import com.enjoyor.soa.traffic.api.dto.gps.TransboundaryTypeEnum;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 围栏信息
 */
public interface TransboundaryService {

	public ResultPojo addTransboundary(TransboundaryDto dto);

	public ResultPojo delTransboundary(List<Integer> listId);

	public ResultPojo updateTransboundary(TransboundaryDto dto);

	public ResultPojo getTransboundary();
	
	/**
	 * 查询围栏信息
	 * @param name 围栏名称模糊查询
	 * @param locid 对特定定位设备的围栏
	 * @param type 围栏类型，null表示全部
	 * @param status 围栏启用状态(0:启用，1:未启用)，null表示全部
	 * @param startTime 查询在startTime~endTime内生效的围栏
	 * @param endTime
	 * @return
	 */
	public ResultPojo getTransboundary(String name, String locid, TransboundaryTypeEnum type, Integer status, Date startTime, Date endTime);

	/**
	 * 查询围栏信息
	 */
	public ResultPojo getTransboundary(Page page);
	
	/**
	 * 查询围栏信息
	 * @param name 围栏名称模糊查询
	 * @param type 围栏类型，null表示全部
	 * @param status 围栏启用状态(0:启用，1:未启用)，null表示全部
	 * @param startTime 查询在startTime~endTime内生效的围栏
	 * @param endTime
	 * @param page
	 * @return
	 */
	public ResultPojo getTransboundary(String name,String locid, TransboundaryTypeEnum type,Integer status, Date startTime, Date endTime, String deptId,Page page);

	public ResultPojo getTransboundaryById(String id);
}
